The present invention relates generally to wireless local area networks (W-LANs), and more particularly, to a real-time carrier sense multiple access (CSMA) method having the capability to adaptively vary cell sizes and a wireless network for implementing the same.
A network which consists of a plurality of network or individual nodes which communicate with each other and with a network control node (also referred to as a xe2x80x9cmainxe2x80x9d or xe2x80x9ccentralxe2x80x9d node) via wireless (radio or RF) links is generally referred to as a wireless (radio or RF) network. In wireless, multihop networks, each node includes a node controller which includes a digital signal processing device (e.g., a microprocessor) and an RF transceiver. Data is communicated (transferred) between the individual nodes and the control node by a technique known as xe2x80x9choppingxe2x80x9d, in which individual units of data are transferred from the control node to a destination node and from an origin (source/sender) node to the control node by being hopped (relayed or retransmitted/rebroadcast) by one or more intermediate nodes in accordance with a network routing protocol, in all instances in which the destination or origin node does not have a direct communication link with the control node. Each of the nodes which hops or relays a packet to one or more other nodes in the network is commonly referred to as a xe2x80x9crepeater nodexe2x80x9d. or simply. xe2x80x9crepeaterxe2x80x9d. The destination node generally acknowledges receipt of a data packet from the control node by returning an acknowledgement data packet to the control node via one or more repeaters in a similar fashion.
Various logical units of data can be utilized, including packets, frames, or cells. However, for convenience of illustration of a presently preferred embodiment of the present invention, the units of data employed will be xe2x80x9cpacketsxe2x80x9d typically ranging in size from about 5-1000 bytes. In this regard, the term xe2x80x9cpacketsxe2x80x9d as used herein is intended to encompass all logical units of data, including frames or cells. Generally, packet-hopping data communications are carried out under the control of the control node, which is typically a computer on which resides the data communications control software. The packet-hopping data transfer scheme enables a reduction in the cost of the RF transceivers and compliance with FCC Part 15 requirements.
Such wireless, packet-hopping networks are particularly suitable for controlling one or more functions or systems of a building, e.g.. the lighting, HVAC, and/or security systems of the building, because a wireless network offers a low-cost, indoor communication infrastructure that does not require new lines to be added to the existing structure in order to carry the network information. Further, such networks can support additional systems installed in the building, such as paging and personal communications systems (PCSs).
The control node of such building control networks is typically a building computer. The individual nodes and the building computer run different software programs which are complementary, and which together constitute the system control software. The individual nodes are typically distributed throughout the building to monitor the status/value of prescribed parameters of the building system being controlled, and to produce control signals in response to commands issued by the building computer to adjust the prescribed parameters as required. It is important that the building computer be able to send and receive data to and from each node in the network in order to properly monitor the status/value of the prescribed parameters, and to issue commands to adjust the status/value of the prescribed parameters as required, in accordance with the system control software.
An exemplary building control network is an automatic or intelligent lighting control system which monitors lighting levels, occupancy status, energy consumption as a function of time, and/or other lighting parameters of each room and/or area of the building, within the network, i.e., each room and/or area of the building which is equipped with a lighting module(s) linked to a node controller (also referred to as a xe2x80x9cwall unitxe2x80x9d) which includes an RF transceiver, a digital signal processing device (e.g., microcontroller or microprocessor), and control circuitry to signal the lights to change brightness levels. Each lighting module and its associated node controller together constitute a node in the network which is under the control/management of the building computer.
In such an intelligent lighting, control system, each of the lighting modules is preferably individually programmable (e.g., by building occupants), via its associated wall unit, to provide direct control of the setting of the dimming, ballast thereof, and thus, direct control of the lighting level of the lamp(s) thereof. In this regard, each of the nodes includes one or more sensors (e.g., occupancy status, daylight (ambient lighting), and dimming/lighting level sensors) which provide sensor feedback data to the digital signal processing device (e.g., a microprocessor) of the node controller, which is programmed to analyze (process) the sensor feedback data and to generate control signals for adjusting the lighting level of the monitored lamp(s) associated therewith, as required, to achieve the programmed local lighting conditions.
The sensor feedback data is also transmitted by each node in the network to the building computer, when requested by the building computer to do so, or when the local lighting conditions change. The building computer analyzes (processes) the sensor feedback data in accordance with lighting system control software loaded therein, and sends control data (commands) to the individual nodes, as required, in order to adjust the lighting levels of the monitored rooms/areas of the building in accordance with the lighting system control software, e.g., to optimize the energy efficiency of the lighting system, and thereby override the programmed lighting levels provided by the individual lighting modules. Thus, in addition to being individually programmable and being capable of independent operation, the distributed modules are functionally integrated into a single building-wide network under the control of the building computer.
Data communications in such networks are generally between the building computer and the individual nodes, and vice versa, over a common communications channel (i.e., a shared channel). In order to minimize simultaneous transmissions of packets over the common network channel, a channel access protocol is utilized. The most common channel access protocol is the carrier sense multiple access (CSMA) protocol, according to which each node, prior to transmitting a packet, waits for a random delay period, and then senses the channel to determine whether it is available (xe2x80x9cclearxe2x80x9d) or unavailable (xe2x80x9cbusyxe2x80x9d). If the channel is sensed to be clear it transmits the packet, and if the channel is sensed to be busy, it waits for another random delay period before sensing the status of the channel again before making a further attempt to transmit the packet.
The microcontroller or microprocessor used in the nodes of wireless networks such as the ones described above to typically have a serial interface which is addressed one byte at a time (i.e., in a byte-wise manner) by the processor itself. Thus, the processor can detect an incoming signal only after an entire byte has been received. As such, true real-time detection of incoming signals is not possible. There will always be a one-byte delay between the time that an incoming signal is received and the time that the incoming signal is detected.
Generally, once the first byte of information has been received, a bit flag is set informing the processor that data is incoming (i.e., is being received). In a topical network operating at 9600 baud, bytes are clocked in at 1 ms intervals, so that a processor having a clock rate of 2 MHz may perform as many as 500 instructions in the 1 ms interval between the time that an incoming signal is received and the time that the incoming signal is detected. If any one of these instructions invokes the transmitter of the RF transceiver of the node to begin transmitting data during, this 1 ms interval, a conflict or collision will occur between the data being transmitted and the data being, received, whether or not the incoming data is intended for the node. Such collisions obviously degrade the data throughput of the network, and thus, constitute a significant drawback of presently available wireless networks.
The term xe2x80x9cneighborhoodxe2x80x9d or xe2x80x9ccellxe2x80x9d as used herein shall mean the domain which encompasses a given node and all other nodes from which the given node can receive an RF signal having sufficient strength to require the given node to wait for completion of receipt of the RF signal, prior to initiating its own data transmissions, e.g., in accordance with a CSMA protocol. In the presently available wireless networks, the individual nodes in the network are each configured at the time of network installation and initialization to operate within a predefined cell size. Obviously, if the cell size is made too small, the the node can become isolated from the rest of the network, whereas if the cell size is made too large, the data throughput of the network can be significantly degraded by forcing the node to wait even when it could communicate without causing a collision to occur. Thus, the presently available wireless networks lack the capability to actively or dynamically control cell sizes in the network, e.g., under system software control, which constitutes a significant shortcoming of the presently available wireless networks.
Based on the above and foregoing, it can be appreciated that there presently exists a need in the art for a real-time carrier sense multiple access (CSMA) method having the capability to adaptively vary cell sizes, and a wireless network for implementing the same. The present invention fulfills this need in the art.
The present invention encompasses method in which incoming RF signals to a given node of a wireless network are detected in real-time by using a comparison circuit for comparing a signal which is indicative of the strength of an incoming RF signal with a prescribed threshold level. The output of the comparison circuit is coupled to an input of the digital signal processor (e.g., microprocessor) of the node. The microprocessor is preferably programmed to check this input prior to attempting to transmit data, thus minimizing the chances of a collision occuring due to overlapping data transmitting and receiving operations. In the presently preferred embodiment of the present invention, the output of the comparison circuit is applied to both an interrupt enable pin and an RF channel status sensing input pin of the microprocessor, whereby the microprocessor is programmed to invoke a random delay prior to transmitting or re-transmitting data (in accordance with a CSMA protocol), in response to a logic high level output of the comparison circuit.
In accordance with another aspect of the present invention, the prescribed threshold level utilized in the comparison circuit of a given node is selectively varied in order to thereby selectively vary the size of the cell in which the given node resides. Preferably, the threshold level is automatically controlled in accordance with a prescribed algorithm via network commands issued by the network control node (e.g., building computer) of the network and/or in accordance with a software program which resides in each node. In this connection, the neighborhood or cell sizes in which the individual nodes in the network reside are preferably adaptively varied in such a manner as to maximize the data throughput of the network.
The present invention also encompasses an individual network node for a wireless network and a wireless network which have the capability of implementing the above-described method of the present invention.